
#ifndef OBJ_WRITER_H
#define OBJ_WRITER_H

#include <string>
#include "util/dtk_maindoc_ptr.hpp"
#include "WriterBase.hpp"
#include <unordered_map>

namespace  AMCAX::Exchange 
{
    class ObjWriter : public WriterBase
    {
    public:
        Dtk_ErrorStatus WriteInit(Dtk_string dumpFile, const Dtk_string& outputFile) override;
        Dtk_ErrorStatus WriteInit(Dtk_string dumpFile, const Dtk_string& outputFile, int option) override;
        Dtk_ErrorStatus WriteEnd() override;

        void WriteMesh(Dtk_MeshPtr& inMeshToWrite, Dtk_tab<Dtk_ID>& outIds) override;

        void WriteBody(Dtk_BodyPtr& inBody, Dtk_tab<Dtk_ID>& outIds) override;


    private:
        Dtk_string m_outputFileName;
    };
}

#endif